/**********************************************************
 * GeneralCategories.java.java
 * Created by Ashutosh
 * Last modified Date: Sep 18, 2008 10:59:49 AM by Ashutosh
 * Revision: <svn revision #>
 * Version : 0.1
 * Copyright (c) 2008 - 2009 cyberThink Infotech Pvt. Ltd., All rights reserved.
 **********************************************************/

package com.printeverywhere.dto;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * GeneralCategories entity.
 *
 * @author MyEclipse Persistence Tools
 */

public class GeneralCategories implements java.io.Serializable {

	// Fields

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;

	/** The category id. */
	private Integer categoryId;

	/** The general categories. */
	private GeneralCategories generalCategories;

	/** The category teaser. */
	private Boolean categoryTeaser;

	/** The type. */
	//private CategoryType categoryType;

	/** The sort order. */
	private Long sortOrder;

	/** The category name. */
	private String categoryName;

	/** The description. */
	private String description;

	/** The level. */
	private Integer level;

	/** The sequence. */
	private Integer sequence;

	/** The main parent id. */
	private Integer mainParentId;

	/** The active. */
	private Boolean active;

	/** The accept. */
	private Boolean accept;

	/** The general categorieses. */
	private Set<GeneralCategories> generalCategorieses = new HashSet<GeneralCategories>(0);

	/** The general categorieses. */
	private Set<Items> items = new HashSet<Items>(0);

	/** The adult. */
	private Boolean adult = false;

	/** The domain. */
	private Boolean domain;

	/** The login. */
	private Boolean login = false;

	/** The icon. */
	private String icon;

	/** The format. */
	private String format;

	/** The template. */
	private String template;

	/** The language code. */
	private String languageCode;

	/** The meta title. */
	private String metaTitle;

	/** The meta description. */
	private String metaDescription;

	/** The meta keywords. */
	private String metaKeywords;

	private List<GeneralCategories> generalCategoriesList;
	// Constructors

	/**
	 * default constructor.
	 */
	public GeneralCategories() {
	}

	/**
	 * minimal constructor.
	 *
	 * @param categoryId the category id
	 */
	public GeneralCategories(Integer categoryId) {
		this.categoryId = categoryId;
	}

	/**
	 * full constructor.
	 *
	 * @param categoryId the category id
	 * @param generalCategories the general categories
	 * @param categoryTeaser the category teaser
	 * @param type the type
	 * @param sortOrder the sort order
	 * @param categoryName the category name
	 * @param description the description
	 * @param level the level
	 * @param sequence the sequence
	 * @param mainParentId the main parent id
	 * @param active the active
	 * @param accept the accept
	 * @param adult the adult
	 * @param domain the domain
	 * @param login the login
	 * @param icon the icon
	 * @param format the format
	 * @param template the template
	 * @param generalCategorieses the general categorieses
	 * @param languageCode the language code
	 * @param metaTitle the meta title
	 * @param metaDescription the meta description
	 * @param metaKeywords the meta keywords
	 */
	public GeneralCategories(Integer categoryId,
			GeneralCategories generalCategories, Boolean categoryTeaser,
			/*CategoryType categoryType, */Long sortOrder, String categoryName,
			String description, Integer level, Integer sequence,
			Integer mainParentId, Boolean active, Boolean accept,
			Boolean adult, Boolean domain, Boolean login, String icon,
			String format, String template, Set generalCategorieses,
			String languageCode, String metaTitle, String metaDescription,
			String metaKeywords) {
		this.categoryId = categoryId;
		this.generalCategories = generalCategories;
		this.categoryTeaser = categoryTeaser;
		//this.categoryType = categoryType;
		this.sortOrder = sortOrder;
		this.categoryName = categoryName;
		this.description = description;
		this.level = level;
		this.sequence = sequence;
		this.mainParentId = mainParentId;
		this.active = active;
		this.accept = accept;
		//this.generalCategorieses = generalCategorieses;
		this.adult = adult;
		this.domain = domain;
		this.login = login;
		this.icon = icon;
		this.format = format;
		this.template = template;
		this.languageCode = languageCode;
		this.metaTitle = metaTitle;
		this.metaDescription = metaDescription;
		this.metaKeywords = metaKeywords;
	}

	// Property accessors

	/**
	 * @param categoryId
	 * @param categoryName
	 */
	public GeneralCategories(Integer categoryId, String categoryName) {
		super();
		this.categoryId = categoryId;
		this.categoryName = categoryName;
	}

	/**
	 * Gets the category id.
	 *
	 * @return the category id
	 */
	public Integer getCategoryId() {
		return this.categoryId;
	}

	/**
	 * Sets the category id.
	 *
	 * @param categoryId the new category id
	 */
	public void setCategoryId(Integer categoryId) {
		this.categoryId = categoryId;
	}

	/**
	 * Gets the general categories.
	 *
	 * @return the general categories
	 */
	public GeneralCategories getGeneralCategories() {
		return this.generalCategories;
	}

	/**
	 * Sets the general categories.
	 *
	 * @param generalCategories the new general categories
	 */
	public void setGeneralCategories(GeneralCategories generalCategories) {
		this.generalCategories = generalCategories;
	}



	/**
	 * @return the categoryType
	 */
	/*public CategoryType getCategoryType() {
		return categoryType;
	}*/

	/**
	 * @param categoryType the categoryType to set
	 */
	/*public void setCategoryType(CategoryType categoryType) {
		this.categoryType = categoryType;
	}*/

	/**
	 * Gets the sort order.
	 *
	 * @return the sort order
	 */
	public Long getSortOrder() {
		return this.sortOrder;
	}

	/**
	 * Sets the sort order.
	 *
	 * @param sortOrder the new sort order
	 */
	public void setSortOrder(Long sortOrder) {
		this.sortOrder = sortOrder;
	}

	/**
	 * Gets the category name.
	 *
	 * @return the category name
	 */
	public String getCategoryName() {
		return this.categoryName;
	}

	/**
	 * Sets the category name.
	 *
	 * @param categoryName the new category name
	 */
	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	/**
	 * Gets the description.
	 *
	 * @return the description
	 */
	public String getDescription() {
		return this.description;
	}

	/**
	 * Sets the description.
	 *
	 * @param description the new description
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * Gets the level.
	 *
	 * @return the level
	 */
	public Integer getLevel() {
		return this.level;
	}

	/**
	 * Sets the level.
	 *
	 * @param level the new level
	 */
	public void setLevel(Integer level) {
		this.level = level;
	}

	/**
	 * Gets the sequence.
	 *
	 * @return the sequence
	 */
	public Integer getSequence() {
		return this.sequence;
	}

	/**
	 * Sets the sequence.
	 *
	 * @param sequence the new sequence
	 */
	public void setSequence(Integer sequence) {
		this.sequence = sequence;
	}

	/**
	 * Gets the main parent id.
	 *
	 * @return the main parent id
	 */
	public Integer getMainParentId() {
		return this.mainParentId;
	}

	/**
	 * Sets the main parent id.
	 *
	 * @param mainParentId the new main parent id
	 */
	public void setMainParentId(Integer mainParentId) {
		this.mainParentId = mainParentId;
	}

	/**
	 * Gets the general categorieses.
	 *
	 * @return the general categorieses
	 */
	/*public Set getGeneralCategorieses() {
		return this.generalCategorieses;
	}*/

	/**
	 * Sets the general categorieses.
	 *
	 * @param generalCategorieses the new general categorieses
	 */
	/*public void setGeneralCategorieses(Set generalCategorieses) {
		this.generalCategorieses = generalCategorieses;
	}*/

	/**
	 * Gets the icon.
	 *
	 * @return the icon
	 */
	public String getIcon() {
		return icon;
	}

	/**
	 * Sets the icon.
	 *
	 * @param icon the new icon
	 */
	public void setIcon(String icon) {
		this.icon = icon;
	}

	/**
	 * Gets the format.
	 *
	 * @return the format
	 */
	public String getFormat() {
		return format;
	}

	/**
	 * Sets the format.
	 *
	 * @param format the new format
	 */
	public void setFormat(String format) {
		this.format = format;
	}

	/**
	 * Gets the template.
	 *
	 * @return the template
	 */
	public String getTemplate() {
		return template;
	}

	/**
	 * Sets the template.
	 *
	 * @param template the new template
	 */
	public void setTemplate(String template) {
		this.template = template;
	}

	/**
	 * Gets the category teaser.
	 *
	 * @return the category teaser
	 */
	public Boolean getCategoryTeaser() {
		return categoryTeaser;
	}

	/**
	 * Sets the category teaser.
	 *
	 * @param categoryTeaser the new category teaser
	 */
	public void setCategoryTeaser(Boolean categoryTeaser) {
		this.categoryTeaser = categoryTeaser;
	}

	/**
	 * Gets the active.
	 *
	 * @return the active
	 */
	public Boolean getActive() {
		return active;
	}

	/**
	 * Sets the active.
	 *
	 * @param active the new active
	 */
	public void setActive(Boolean active) {
		this.active = active;
	}

	/**
	 * Gets the accept.
	 *
	 * @return the accept
	 */
	public Boolean getAccept() {
		return accept;
	}

	/**
	 * Sets the accept.
	 *
	 * @param accept the new accept
	 */
	public void setAccept(Boolean accept) {
		this.accept = accept;
	}

	/**
	 * Gets the adult.
	 *
	 * @return the adult
	 */
	public Boolean getAdult() {
		return adult;
	}

	/**
	 * Sets the adult.
	 *
	 * @param adult the new adult
	 */
	public void setAdult(Boolean adult) {
		this.adult = adult;
	}

	/**
	 * Gets the domain.
	 *
	 * @return the domain
	 */
	public Boolean getDomain() {
		return domain;
	}

	/**
	 * Sets the domain.
	 *
	 * @param domain the new domain
	 */
	public void setDomain(Boolean domain) {
		this.domain = domain;
	}

	/**
	 * Gets the login.
	 *
	 * @return the login
	 */
	public Boolean getLogin() {
		return login;
	}

	/**
	 * Sets the login.
	 *
	 * @param login the new login
	 */
	public void setLogin(Boolean login) {
		this.login = login;
	}

	/**
	 * Gets the language code.
	 *
	 * @return the language code
	 */
	public String getLanguageCode() {
		return languageCode;
	}

	/**
	 * Sets the language code.
	 *
	 * @param languageCode the new language code
	 */
	public void setLanguageCode(String languageCode) {
		this.languageCode = languageCode;
	}

	/**
	 * Gets the meta title.
	 *
	 * @return the meta title
	 */
	public String getMetaTitle() {
		return metaTitle;
	}

	/**
	 * Sets the meta title.
	 *
	 * @param metaTitle the new meta title
	 */
	public void setMetaTitle(String metaTitle) {
		this.metaTitle = metaTitle;
	}

	/**
	 * Gets the meta description.
	 *
	 * @return the meta description
	 */
	public String getMetaDescription() {
		return metaDescription;
	}

	/**
	 * Sets the meta description.
	 *
	 * @param metaDescription the new meta description
	 */
	public void setMetaDescription(String metaDescription) {
		this.metaDescription = metaDescription;
	}

	/**
	 * Gets the meta keywords.
	 *
	 * @return the meta keywords
	 */
	public String getMetaKeywords() {
		return metaKeywords;
	}

	/**
	 * Sets the meta keywords.
	 *
	 * @param metaKeywords the new meta keywords
	 */
	public void setMetaKeywords(String metaKeywords) {
		this.metaKeywords = metaKeywords;
	}

	/*public String getValue(){
		if(this.categoryId>0)
		return this.getCategoryName()+" ("+(StrutsFilterDispacher.getCategoryItemCount(this))+")";
		else return this.getCategoryName();
	}*/

	/**
	 * @return the items
	 */
	public Set<Items> getItems() {
		return items;
	}

	/**
	 * @param items the items to set
	 */
	public void setItems(Set<Items> items) {
		this.items = items;
	}

	public List<GeneralCategories> getGeneralCategoriesList() {
		return generalCategoriesList;
	}

	public void setGeneralCategoriesList(
			List<GeneralCategories> generalCategoriesList) {
		this.generalCategoriesList = generalCategoriesList;
	}

	public Set<GeneralCategories> getGeneralCategorieses() {
		return generalCategorieses;
	}

	public void setGeneralCategorieses(Set<GeneralCategories> generalCategorieses) {
		this.generalCategorieses = generalCategorieses;
	}
}